package negModel;

import java.util.Observable;
import java.util.Timer;
import java.util.TimerTask;


public class Semaforo extends Observable {
	
	private Timer timer;
	private int maxSegundos;
	private int segundos;
	
	public Semaforo(int maxSegundos){
		
		this.maxSegundos = maxSegundos;
		this.segundos = this.maxSegundos;
		this.timer = new Timer();
	}
	
	private class Temporizador extends TimerTask{

		public void run() {
			if (segundos > 0)
				segundos--;
				ActualizarObservadores();
			
		}
		
	}
	
	
	public void iniciarConteo(){
		
		this.timer.schedule(new Temporizador(), 1000, 1000);
			
	}
	
	public String getSegundos(){
		String tiempo;
		if (this.segundos == 0)
			tiempo = "LAAAARGAROON!";
		else
			tiempo = new String(""+this.segundos);
		return tiempo;
	}
	
	public boolean termino(){
		return (this.segundos == 0);
	}
	
	public void ActualizarObservadores(){
		
		setChanged();
		notifyObservers();		
	}
	
	
	

}
